A finite impulse response (FIR) filter is a type of a signal processing filter having an impulse response of finite duration. The impulse response of an Nth-order discrete-time FIR filter lasts for N+1 input samples, and then dies to zero. The FIR filter requires no feedback and thus, is inherently stable. Further, the FIR filter can also be easily configured to operate in a linear phase by making the coefficient sequence of the FIR filter symmetric, and is therefore used for various phase-sensitive applications, for example, data communications, crossover filters, and mastering of audio signal. In general, the FIR filter is widely used in various electronic appliances, such as audio devices, signal processors, sound digitization systems, and simulators.
The characteristics of an FIR filter are typically indicated by one or more taps. A tap refers to a coefficient/delay pair. The number of FIR taps, usually represented by N, is indicative of the memory space required to implement the FIR filter and the number of computations required. In general, a higher number of taps is indicative of greater stopband attenuation, less ripple in the output signal, etc. Every tap of the FIR filter is associated with a multiply and accumulate (MAC) operation. The MAC operation refers to the operation of multiplying a coefficient by the corresponding delayed input sample and accumulating the result.
The computational efficiency and the ease of implementation facilitate the FIR filter to be implemented in various signal processing applications. Generally, the FIR filter is better suited for multi-rate applications, such as downsampling, decimation, and interpolation, as the FIR filter is computationally more efficient than an infinite impulse response (IIR) filter.
Downsampling is the process of reducing the sampling rate of a signal, usually to reduce the data rate or the size of the data. The downsampling factor, conventionally denoted by K, may be an integer or a rational fraction greater than unity. For example, if an audio signal at 44,100 Hz is downsampled by a factor of two, the frequency changes to 22,050 Hz, and the bit rate is reduced to half, from 1,411,200 bit/s to 705,600 bit/s, assuming that each sample has a size of 16 bits and the size of the each sample remains unchanged.
Since downsampling reduces the sampling rate, most implementations of downsampling ensure compliance with the Shannon-Nyquist sampling theorem so as to avoid aliasing. Conventionally, decimation is used to ensure compliance with the sampling theorem. In decimation, a low-pass filter is used as an anti-aliasing filter to reduce the bandwidth of the signal before the signal is downsampled. Thus, decimation is a two-step process that includes passing a signal through the anti-aliasing filter and then downsampling the signal using the FIR filter.